package com.ow.dva.module.city.service;

import com.ow.dva.module.base.entity.param.DvaPage;
import com.ow.dva.module.base.service.DvaService;
import com.ow.dva.module.city.entity.City;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 地区信息 服务类
 * </p>
 *
 * @author YanZengBao
 * @since 2020-02-20
 * @version V1.0
 */
public interface CityService extends DvaService<City> {

    /**
    * 分页获取地区信息数据列表信息。
    * 创建时间：2020-02-20 YanZengBao
    * 修改时间：2020-02-20 YanZengBao 加注释
    * 修改时间：
    * @param page 分页参数
    * @param param 条件参数
    * @return 带分页的数据集
    */
    DvaPage<City> page(DvaPage<City> page, Map<String, Object> param);

    /**
     * 描述：查询全部省
     * 创建时间： 2020/2/20 YanZengBao
     * 修改时间： 2020/2/20 YanZengBao  加注释
     * 修改时间：
     */
    List<City> selectProvince();

    /**
     * 描述：根据城市ID 查询下级
     * 创建时间：  YanZengBao
     * 修改时间：  YanZengBao  加注释
     * 修改时间：
     */
    List<City> findChildByCityId(String cityId);


    /**
     * 描述：根据父级ID查询下级城市列表
     * 创建时间： 2020/2/20 YanZengBao
     * 修改时间： 2020/2/20 YanZengBao  加注释
     * 修改时间：
     */
    List<City> findCityByParentId(String parentId);

    /**
     * 描述：根据父级ID查询下级区/县列表
     * 创建时间： 2020/2/20 YanZengBao
     * 修改时间： 2020/2/20 YanZengBao  加注释
     * 修改时间：
     */
    List<City> findCountyByParentId(String parentId);
}
